package com.uex.dev.manage.admin.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.uex.dev.manage.admin.enums.WorkModeEnum;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 设备所属项目信息 仅内部用户查看
 * </p>
 *
 * @author wangchao
 * @since 2024-02-22
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("t_project")
public class ProjectPO extends Model<ProjectPO> {

    private static final long serialVersionUID = 1L;

    /**
     * 项目ID
     */
    @TableId(value = "prj_id", type = IdType.AUTO)
    private Integer prjId;

    /**
     * 项目名称
     */
    private String prjName;

    /**
     * 销售客户
     */
    private String prjClientCompany;


    /**
     * 销售对接人及电话
     */
    private String prjClientUser;

    /**
     * 最终用户
     */
    private String prjEndCompany;

    /**
     * 用户方对接人及电话
     */
    private String prjEndUser;

    /**
     * 用户服务码
     */
    private String prjEndService;

    /**
     * 销售经理
     */
    private String prjSaler;

    /**
     * ERP对接厂商
     */
    private String prjErpVendor;

    /**
     * ERP对接产品及版本
     */
    private String prjErpProduct;

    /**
     * ERP对接人及电话
     */
    private String prjErpUser;

    /**
     * 系统工作模式
     */
    private WorkModeEnum prjWorkMode;

    /**
     * 项目开始接触时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime prjContactTime;

    /**
     * 项目开发开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime prjDevTime;

    /**
     * 项目开始联调时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime prjTestTime;

    /**
     * 项目上线时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime prjOnlineTime;

    /**
     * 项目验收时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime prjAcceptTime;

    @TableLogic
    private Byte deleted;

    @Override
    public Serializable pkVal() {
        return this.prjId;
    }
}
